Technology now requires the delivery and display of high-level, high-performance graphics and video data. A problem arises, however, with the reduced size in portable electronics (e.g., mobile phones, tablets, laptop and notebook computers, etc.). The reduces size of these portable electronics result in limited functionality that can be included with the processor and/or device overall.
This problem is highly prevalent with games, particularly multi-player, real-time, interactive games run on such devices. A typical desktop gaming machine may include a graphics card that has large amounts of memory and one or more specialized graphics processing units (GPUs) specifically designed to handle a high volume of intense graphics processing. However, such graphics cards typically require a large amount of physical space and further require substantial power from the computer bus (some even requiring an additional or external power supply). Even where possible and practical to use, such specialized graphic cards are very expensive and cost significantly more than standard graphics cards. Consequently, such graphics cards are impractical for small portable electronics or other inexpensive devices.
One solution to this problem is offloading the graphics processing to computers and servers external to the portable electronic device. Further solutions include completely offloading the entire game (or program requiring intense graphics processing) to the server. In such implementations, the server receives control commands from the mobile device, runs the program and performs the graphics processing, and then returns the processed graphics to the mobile device for display.
The problem now presented by such implementations is one of “lag” due to a variety of reasons. One such reason is the inherent inability of the processing computer software configuration to process and output such graphics in a fashion fast enough for the resulting graphics to appear smooth when displayed on the mobile device. Other reasons may be the numerous software processes required prior to the graphics being transmitted to the portable electronic device. Such numerous processes and programs employed highly reduce the speed at which graphics can be output to the mobile device, therefore introducing higher latency and causing “lag.” Lastly, high overhead on the portable electronics may still be required to interact with the remote server and process the incoming graphics feed.
Accordingly, improved systems and methods which place lower overhead on a portable device, yet are capable of transferring processed graphics data for a smooth presentation on the portable device remains highly desirable.